﻿//#define _CRT_SECURE_NO_WARNINGS  1
////一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
////一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
//#include<string>
//#include<iostream>
//using namespace std;
//class person {
//public:
//	int _age;
//	string _name;
//	int* _height;
//public:
//	//默认构造函数
//	person()
//	{
//		cout << "  person 默认构造函数" << endl;
//	}
//	//参数构造函数
//	person(int p,int h)
//	{
//		_age = p;
//		_height = new int(h);
//		cout << "  person 参数构造函数" << endl;
//	}
//	//拷贝构造函数
//	person(const person& p)
//	{
//		/*_age = p._age;
//		_name = p._name;
//		_height = p._height*/  //编译器拷贝构造函数实现方式
//		_age = p._age;
//		_height = new int(*p._height);
//	}
//	//析构函数
//	~person()
//	{
//		//析构代码：将堆区开辟的空间是释放操作
//		if (_height != NULL)
//		{
//			delete _height;
//			_height = NULL;
//		}
//		cout << "  person 析构函数" << endl;
//	}
//};
//void test1()
//{
//	person p1(18,160);
//	person p2(p1);
//	cout << "p2的年龄为：" << p2._age <<"身高:"<<*p2._height << endl;
//	cout << "p2的年龄为：" << p1._age << "身高:" <<* p1._height << endl;
//
//}
//int main()
//{
//	test1();
//	return 0;
//}